In many of today's applications large amounts of data need to be stored. In the area of Personal Computers and in addition in the area of consumer electronics harddisks as fixed storage media and optical disks as removable storage media are commonly used for this purpose. Due to emerging incremental data bandwidth needs (HDTV, fast copy) the data throughput of the applications is increasing continuously. Consequently, the corresponding disk devices have to provide the appropriate data and data bandwidth, too. Therefore, a plurality of high density optical recording media have been developed, e.g. the Digital Versatile Disk (DVD) or the Blu-Ray Disk (BD) using blue laser light for reading and recording.
Data processing within storage devices can be separated into read and write paths. The logical processing blocks within a write path are as follows. A back-end interface (e.g. ATAPI) issues a ‘WRITE’ command and provides the appropriate data sectors to be written on the recording medium. These sectors are usually buffered or ‘cached’ into a memory. Afterwards they are reformatted into blocks of sectors, then error encoded and modulated, and finally written to the recording medium either magnetically (harddisk), optically (CD, DVD, BD), or magneto-optically (MOD).
The logical processing blocks within the read path are as follows. A back-end interface (e.g. ATAPI) issues a ‘READ’ command and waits for data sectors from the recording medium. A microcontroller decodes the back-end command (ATAPI command) to obtain the demanded sector address and calculates the corresponding physical address on the recording medium. The microcontroller then instructs a ‘servo’-unit to position a read head (or pickup) at the appropriate physical address on the recording medium.
The position where the read head is placed does usually not coincide exactly with the desired position, e.g. due to mechanical tolerances or external influences like vibrations. If an unrequested sector address is found in the sector data, the read head needs to be repositioned very quickly until the requested sector address is found.
The data sectors read from the disc are modulated and combined to logical blocks. These blocks are error decoded and written into a buffer memory before the demanded sectors are sent to the back-end interface.
A problem of the above described processing is to arrange the buffer memory. The repositioning of the read head and external shocks lead to a fragmentation of the data in the buffer memory if no control mechanism is implemented. For this purpose a microcontroller analyses the data in the buffer memory for sending only the correct data to the back-end.
A control mechanism for arranging/aligning the data in the buffer memory checks the sector data content coming from the recording medium for those sector data addresses which were demanded. Only these sectors are written in the buffer. In order to send only well formatted data to the back-end, the arrangement of the sectors is preferably in incremental order without gaps.
To cover today's actual drive standards, in the following the sector addresses are called ‘sector IDs’. That means for:
Harddisk physical low level ID (addressable with CSH or LBA)
CD-DAMinSecFrame within the Q-channel (msf)CD-ROMCD-ROM headerDVDSector IDBlu-rayaddress unit number (AUN)
In known systems the sector IDs are checked directly by software by a microcontroller using software (firmware). This leads to a significant processing load on the microcontroller, since the sector ID check has to be done very frequently. For example, in a 1×DVD speed device the sector ID has to be checked approximately every 1,54 msec. In high speed devices, assuming for example 16×DVD, this checking has to be done approximately every 96 μsec. Consequently, a microcontroller in a high speed device like 16×DVD needs to have an interrupt frequency of ˜96 μsec for reading every sector ID from the data stream, or it has to poll for this task with a frequency much higher then 1/96 μsec. This leads to an enormous workload for the microcontroller and reduces its performance for other tasks.
It is, therefore, an object of the invention to propose a method for the fast verification of sector IDs, which overcomes the above mentioned problems.